As telecommunication systems become more complex and the effort needed to create services in a timely manner becomes greater, so the need for alternative means of realising systems becomes more urgent.
It has been considered how a method from the field of evolutionary computing can be of assistance in the field of Intelligent Networks (IN) in helping to create new telecommunications services.
The premise used is that in a branch of evolutionary computing, a system can translate a specification into an implementation without the direct assistance of a human programmer. The benefits to be gained are faster system realisation and a more reliable implementation by focusing the effort on the requirements of a system rather than it""s implementation.
Starting from the idea that some form of automatic programming was a feasible method to use, a detailed analysis of one methodxe2x80x94Genetic Programming (GP)xe2x80x94was made. From this analysis a number of questions were raised concerning the basic feasibility, performance and scalability.
Traditional telephony in the past 20 years has concentrated on delivery telephony services to customers by means of stored program switches. Customers have, until recently, been restricted to relatively crude terminal equipment that supports voice and Dual Tone Multi Frequency (DTMF) user controls.
As the number of services offered has grown and the sophistication of telephone equipment has risen, it has become clear that offering services via the traditional embedded switch technology does not scale well, and that other platforms for providing the services are required.
One approach used is Intelligent Networks (IN), the primary objective of Intelligent Networks being to move the service computation to readily available computers. A basic Intelligent Network is shown in FIG. 1.
The functions carried out by the various components of the Intelligent Network are:
A secondary aim of introducing IN was to reduce the time required to develop and deploy new services. Traditional switch based solutions typically require 2 years from the initial requirements being specified until the service is in operation. In a highly competitive environment this is too long, and the market window will have disappeared by the time the services come into operation. IN aims to reduce this by exploiting mainstream IT techniques.
In the following references to the bibliography will be indicated by [XXXNN] and details of the references are placed at the end of the description.
One such system has been developed by the former GPT Limited, now Marconi Communications Limited and is marketed as GAIN Inventor((trademark)). This employs a service creation life-cycle shown in FIG. 2. This shows a simplified waterfall model where the stages 1-4 as a whole map to sub-goals 2 to 7 described by Boehm [Boe81] Chap. 4. Page 37. An implicit assumption is that the feasibility of a service has already been established. Maintenance and phase out are part of the service creation process but are not considered for development purposes.
The first two phases occur when either a customer specifies their service requirements directly to the provider of the network, or as a result of collaboration between user and provider. They are carried out using the tools and techniques provided by the IN equipment vendor. During the requirements capture phase, it is quite likely that the same tools will be used in order to produce rapid prototypes to that the customer can verify the essential requirements early on in the development of the service.
In the GAIN Inventor((trademark))system the user selects sets of iconic images from a palette and joins them together to create a directed graph. Each node (icon) in the graph has a set of attributes that the service creator can change to determine the eventual behaviour of the service being constructed.
A compiler is used to translate the abstract service representation to C code that conforms to the requirements of the run-time environment.
Experience has shown that the time required to complete the first phase is relatively short, but the time required to implement complex services in phases 2 and 3 can be several months. A typical non-trivial service can require several thousand icons, and results in dozens of valid traversals of the graph. A means of reducing the duration of these phases is therefore of benefit to the network and service operators.
The major problems encountered in the existing system are associated with software engineering management issues namely, productivity and quality control. Despite the promises of the early IN systems and the advanced tools available, complex services still take a considerable amount of time to develop using traditional software engineering techniques and there is still a level of defects found in the service themselves.
The present invention addresses the difficulties with the first two phases by automatically deriving an implementation from the requirements, or as Teller (TA97], Langdon [Lan98] and others put it, by using Automatic Programming. This approach was hinted at by Boehm [Boe81] Chap. 33 where a mention is made of automatic programming. In 1981 the idea was considered interesting but xe2x80x98somewhat beyond the current frontier of the state of the artxe2x80x99. It is demonstrated that automatic programming such as by using Genetic Programming (GP) for example is now a viable alternative in the domain of IN.
GP has demonstrated that it can produce results that are at least as good as a human programmer and in some cases provide solutions to problems that a human has not been able to achieve as in the case of discovering an electronic circuit to yield a cube root function [KBF96], and to create a rule for cellular automata that has also shown that programs for Digital Signal Processors (DSPs) evolved using GP can outperform existing programs.
An existing service creation case study can be considered. This study showed that for t a complex service a human required 4.5 man years of effort to analyse, design, code and test the service. The principal measurable attribute is therefore the elapsed time required to implement the service and this attribute will be quantified for GP by experimental data presented later. Other attributes are cost of equipment and the degree of human intervention required but are not considered further in this work.
A key measurable attribute of the program is the level of defects. Broadly defects fall into one of two categories [Som96]; errors due to incorrect requirements analysis and errors due to implementation deficiencies either by errors in programming or design. The first type is common to whatever method of programming is adopted. As summarised by Davis [Dav93] the earlier requirement related errors are found, the lower the cost to remedy the error. As will be seen later using GP forces the designer to consider requirements in more detail initially (for fitness evaluation) so the implication is that using GP will result in fewer errors introduced by faults in the requirements. Even using advanced tools such as Inventor, in one case there were 15 failures associated with the service. Anecdotal evidence suggests that these were all implementation errors.
There is no existing information on using GP for IN services creation.
The question of whether GP can scale can only be answered in full by analysing experimental data, but initial indications show that GP can create programs to solve complex problems in other domains.
It is worth noting that other alternatives such as artificial neural networks, hill climbing, decision trees, reinforcement learning, combinatorial search or knowledge based systems have not been explored in the context of this problem, but Koza [Koz96] makes a powerful argument why such a comparison would not be beneficial anyway. The main point of his argument is that most machine leaning paradigms are highly specialised and any attempt to do a cross paradigm comparison will xe2x80x98gravitate to utterly trivial problemsxe2x80x99.
Notwithstanding the above, one area that promises to offer a viable alternative to GP is Inductive Logic Programming [BG95], and a useful comparison has been made between Inductive Logic Programming and GP by Tang [TCM98] albeit for a fairly simple problem. Furthermore some limited experimental results have been presented between traditional Genetic Algorithms (GA) and GP in the domain of telecommunications applications by Sinclair [SS97 and Aiyarak [ASS97]. None of these comparisons offers any convincing arguments in favour of any particular method, indeed, the comparisons between GA and GP give contradictory results and appear to be heavily influenced by the type of problem being solved.
According to the present invention there is provided a method of creating a service for an Intelligent Network (IN) system, the service having a series of service requirements, the method comprising the steps of:
(a) Using Evolutionary Programming to derive programs to operate a Basic Call State Machine of the IN to provide the service from the service requirements;
(b) Evaluating a fitness function for programs.
(c) Selecting a program from those derived.
There is further provided a service creation means as claimed in anyone of claims 8 to 10, wherein the fitness evaluating means provides the weighted sum of the number of correctly sequenced messages that a Service Switching Point (SSP) in an IN would receive and the weighted sum of the number of correct message parameters that the SSP would receive.
In both cases a preferred form of Evolutionary Programmning is Genetic Programming.